/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package muhnes.sizoo.controlador;

import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
import muhnes.sizoo.dal.PrivilegioDao;
import muhnes.sizoo.dal.PrivilegioDaoImpl;
import muhnes.sizoo.modelo.Privilegio;

/**
 *
 * @author Neotaku
 */
@ManagedBean(name = "privilegioBean")
@ViewScoped
public class PrivilegioBean implements Serializable {
    
    private Privilegio privilegio;
    private List< Privilegio > listaPrivilegios;

    /** Creates a new instance of PrivilegioBean */
    public PrivilegioBean() {
        privilegio = new Privilegio();
    }

    public Privilegio getPrivilegio() {
        return privilegio;
    }

    public void setPrivilegio(Privilegio privilegio) {
        this.privilegio = privilegio;
    }

    public List< Privilegio > getListaPrivilegios() {
        if( listaPrivilegios == null ) {
            PrivilegioDao dao = new PrivilegioDaoImpl();
            listaPrivilegios = dao.buscarTodos();
        }
        return listaPrivilegios;
    }
    
    public void prepararAdicion( ActionEvent event  ){
        privilegio = new Privilegio();
    }
    
    public void prepararModificacion( Privilegio privilegio ){
        this.privilegio = privilegio;
    }
    
    public void prepararEliminacion( Privilegio privilegio ){
        this.privilegio = privilegio;
    }

    public void agregarPrivilegio( ActionEvent event ){
        PrivilegioDaoImpl dao = new PrivilegioDaoImpl();
        dao.guardar( privilegio );
        recrearModelo();
    }

    public void actualizarPrivilegio( ActionEvent event ){
        PrivilegioDaoImpl dao = new PrivilegioDaoImpl();
        dao.actualizar( privilegio );
        recrearModelo();
    }
    
    public void eliminarPrivilegio( ActionEvent event ){
        PrivilegioDaoImpl dao = new PrivilegioDaoImpl();
        dao.eliminar( privilegio );
        recrearModelo();
    }
    
    void recrearModelo() {
        listaPrivilegios = null;
    }

}


